Erl"uterungen zum neuen OMIKRON BASIC 5.xx Alle nicht erw"hnten Funktionen entsprechen denen der Version 4.xx 28.3.1998 ******* Die XBRA-Kette wird seit der Version 5.17 korrekt ausgewertet, so dass jetzt auch mehrere BASIC-Programme nacheinander gestartet und anschlieáend in beliebiger Reihenfolge beendet werden koennen, ohne dass es zu Abstuer- zen kommt. Der Speicherverbrauch wurde ab der Version 5.18 reduziert. Damit laesst sich das BASIC jetzt auch wieder auf einem MegaST 4 einsetzen. Beim Markieren von Bl”cken scrollt das Fenster jetzt auch horizontal, wenn der Mauscursor den Fensterrand erreicht. Ausserdem wurden noch einige andere kleinere Bugs beseitigt. 3.3.97 Version 5.16 ******************* Fselx benutzen ============== In der Dialogbox f?r Editoreinstellungen kann man jetzt w"hlen, ob der Edi- tor die normale oder die erweiterte File-Selectbox verwenden soll. Da viele Hilfsprogramme wie z.B. Box-Kite oder Selectric nur die normale File-Select- box ersetzen, kann man auf diese Weise vermeiden, da? diese nicht mehr auf- gerufen werden. Entfernen von MEMORY-Bl"cken ============================ Da ich immer wieder gefragt werde, wie man MEMORY-Bl"cke wieder aus einem Programm entfernen kann, hier noch einmal die genaue Vorgehensweise: 1. Den Befehl MEMORY_BLOCK aus dem Programm entfernen. 2. Den Men?punkt 'Aufr"umen' anklicken. Benutzung unter Single-TOS ========================== Unter Single-TOS k"nnen jetzt auch GEM-Programme vom Editor aus gestartet wer- den, ohne da? die Men?zeile blockiert. Dazu schlie?t der Editor zun"chst alle Fenster und startet dann das RUNTIME-Programm mit PEXEC. Nach Beendigung des Child-Prozesses befinden Sie sich wieder im Editor. Ein Hin- und Herwechseln zwischen RUNTIME-Programm und Editor wie in einer echten Multitaskingumgebung ist nat?rlich nicht m"glich. Dr?cken der Help-Taste f?hrt deshalb in den alten Editor. 15.12.96 Version 5.15 ********************* Drag & Drop =========== Der Editor unterst?tzt jetzt das Drag & Drop Protokoll. Sie k"nnen also z.B. eine Datei vom Desktop auf ein Fenster des Editors ziehen. Der Editor stellt die Datei dann in einem neuen Fenster dar. Es ist jetzt auch m"glich, eine Datei auf das Programm-Icon des Editors zu ziehen, wenn der Editor schon ge- startet ist. Die Datei wird dann auch einfach geladen. gek?rzte BASLIB =============== Da die M"glichkeit, unbenutzte Funktionen aus der BASLIB zu k?rzen, schon bei der Version 4 verlorengegangen ist, habe ich eine gek?rzte BASLIB unter dem Namen BASLIB_5.C01 beigef?gt. Diese BASLIB enth"lt keine Flie?kommaarithmetik und keine Matrizenoperationen. Au?erdem sind folgende Befehle nicht enthalten: USING, INPUT, VAL, RND, SCREEN, SORT, ON TIMER, WAIT Die BASLIB_5.C01 ist dazu gedacht, kleine Utility-Programme zu schreiben, bei denen die ganze BASLIB unverh"ltnism"?ig lang w"re im Vergleich zum eigentli- chen Programm. Die BASLIB_5.C01 kann mit dem Compiler-Steuerwort COMPILER "LIBC01" eingebunden werden. Trifft der Compiler w"hrend der sbersetzung auf eine Funktion, die nicht in der gek?rzten BASLIB enthalten ist, so bindet er automatisch die volle BASLIB_5 ein. 02.12.96 Version 5.13 ********************* Es wurden alle bekannten Fehler beseitigt. Das automatische Einr?cken funktio- niert jetzt zuverl"ssig, sogar wenn mehrere Strukturbefehle in einer Zeile stehen. Um ein altes Programm komplett der Einr?ckprozedur zu unterwerfen, braucht dieses nur als ASCII gespeichert und dann neu geladen zu werden. Alternativ kann man auch das ganze Programm als Block markieren und dann den Block in ein vorher ge"ffnetes neues Fenster kopieren. (Achtung: Im neuen Fenster mu? genug Speicher reserviert sein). Lange Dateinamen ================ Der Editor verwaltet jetzt auch lange Dateinamen (bis 33 Zeichen, Pfade bis 191 Zeichen), wenn diese Eigenschaft vom Betriebssystem zur Verf?gung gestellt wird (z.B. Magic ab 4.0). 10.11.96 Version 5.12 ********************* Aufr"umen ========= Dieser Men?punkt dient dazu, irgendwann mal deklarierte Variablen, Prozeduren oder Funktionen, die dann wieder gel"scht wurden und im Programm nicht mehr vor- kommen, aus der Variablentabelle zu entfernen. Diese Funktion sollte auf jeden- fall aufgerufen werden, wenn Programmteile gel"scht wurden oder wenn eine Library entfernt wurde. Dadurch wird das Programm k?rzer, die Sicherheit der Deklarations?berwachung steigt und der Editor wird schneller, da die Variablen- tabelle nicht nach Karteileichen durchsucht werden mu?. Da die Funktion nicht nur in der Variablentabelle sondern auch in der Variablenpointertabelle aufr"umt, kann der Vorgang bei l"ngeren Programmen und vielen Variablenleichen einige Zeit in Anspruch nehmen. Einklappen ========== Diese Funktion wurde dahingehend verbessert, da? der Editor jetzt automatisch bis zum ersten unbedingten RETURN,END_PROC bzw. END_FN einklappt. Eine Prozedur kann jetzt also mehrere RETURNs enthalten. Solange sie innerhalb eine IF... THEN... ELSE... ENDIF Anweisung stehen, werden sie beim Einklappen nicht be- r?cksichtigt. COMPILER "CUT ON/OFF" ==================== Eine unbenutzte Prozedur oder Funktion wird bis zum ersten unbedingten RETURN, END_PROC bzw. END_FN entfernt. Siehe auch 'Einklappen'. 28.10.96 Version 5.11 ********************* Shortcuts einstellen ==================== Es ist jetzt auch m"glich, einem Men?punkt auch gar keinen Shortcut zuzuweisen, z.B. um versehentliche Fehlbedienungen zu vermeiden. Dazu mu? der Eintrag im Shortcutfenster nur bei gedr?ckter Shifttaste angeklickt werden. Das Speichern der Shortcuts geschieht mit dem Men?punkt 'Speichern als', wenn das Shortcut- fenster das Oberste ist. Es wird jetzt auch ?berpr?ft, ob Shortcuts doppelt definiert wurden. In diesem Fall erscheint eine Alert-Box. Zeilen im Fenster ================= Die maximale Zeilenzahl, die beim Tffnen eines Fensters reserviert werden soll, braucht jetzt nicht mehr eingestellt zu werden. Der Editor verwaltet die Fenster jetzt dynamisch. Global-Feld bei Appl-Init ========================= Die GEM.LIB-Funktion 'Appl_Init' initialisiert jetzt das Global-Feld, soda? Sie z.B. in Global(0) die AES-Versionsnummer, in Global(1) die maximale Anzahl von Programmen, die parallel laufen k"nnen, erfahren oder in Global(2) die Appl-Id Ihres Programms. N"heres entnehmen Sie bitte der GEM-Literatur. Verbesserte Kommunikation zwischen Editor und RUN_KERN ====================================================== Wurde ein Programm im Interpreter durch 'STOP' oder Ctrl+C unterbrochen, so ist es jetzt m"glich, mit der HELP-Taste zur?ck in den Editor zu gelangen, ohne den RUN_KERN zu beenden. Wenn das Runtime-Programm Fenster ge"ffnet hat, so werden jetzt nat?rlich keine Redraws mehr durchgef?hrt, da der RUN_KERN sich ja in Wartestellung befindet. Aus dem gleichen Grund f?hrt eine eventuelle Men?auswahl des Runtime-Men?s zu keiner Reaktion. Im Gegensatz zu fr?her, kann das Programm im Editor ver"ndert werden, ohne da? eine Programmfortsetzung im Interpreter un- m"glich w?rde. Wenn Sie zu dem unterbrochenen Programm zur?ck m"chten, so w"hlen Sie im Editor den Men?punkt 'RUN_KERN fortsetzen' an. Sie gelangen dann in den Direktmodus des Interpreters, von dem aus Sie das Programm mit 'CONT' fortsetzen k"nnen. Achtung: Der RUN_KERN kann nach einem 'CONT' das Programm nicht automatisch nach vorne bringen, da ihm das Handle des Runtime-Men?s nicht bekannt ist. Sie m?ssen also mit Hilfe des Magic-Popup-Men?s das Runtime-Programm nach vorne holen und den Bildschirm aufr"umen. Mit dem Men?punkt 'RUN_KERN beenden' k"nnen Sie auch gleich das Runtime-Programm beenden, ohne vorher in den Direktmodus des Interpreters zur?ckzukehren. Dabei wird eine Programm-Beenden-Message (Typ 50) an den RUN_KERN geschickt. Mit Shift+Help kann man vom Direktmodus auch noch in den alten Full-Screen-Editor gelangen. Ein solches Verfahren ist nat?rlich nur unter einem Multitasking-Betriebssystem m"glich. Verbesserte Handhabung unter Single-TOS ======================================= Unter Single-TOS kann der RUN_KERN jetzt auch vom Editor aus gestartet werden. Der Start erfolgt dann mit 'Pexec' statt mit 'Shel_Write'. Das bringt die Ein- schr"nkung mit sich, da? das Runtime-Programm keine Men?zeile haben kann und keine AES-Events verarbeiten darf. Da die AES von dem Start nichts mitbekommen, melden sie die Events weiterhin an den Parent-Prozess (den Editor). Der wurde aber beim Start des RUN_KERNS vom GEMDOS angehalten, weswegen die Events nicht verarbeitet werden k"nnen. VDI-Aufrufe sind aber weiterhin m"glich. Programm wurde ver"ndert Flag ============================= Wenn ein Programm im Editor ver"ndert wird, so kennzeichnet der Editor dies durch einen '*' vor dem Pfad in der Namenszeile des Fensters. Nach dem Speichern des Programms wird der '*' nat?rlich wieder entfernt. Aufr"umen ========= Der Men?punkt 'Aufr"umen' ist noch nicht anw"hlbar. Er wird erst im n"chsten Up- date verf?gbar sein. Online-Hilfe ============ OMIKRON-Basic verf?gt jetzt ?ber eine Online-Hilfe auf der Basis des ST-Guide. Wenn Sie dieses Programm schon installiert haben, so brauchen Sie nur die Datei- en OM-BASIC.HYP und OM-BASIC.REF in Ihren Hypertext-Ordner zu kopieren. Andern- falls m?ssen Sie einfach das ST-GUIDE.ACC und die ST-Guide.INF sowie den Ordner GUIDES im Wurzelverzeichnis Ihres Bootlaufwerks installieren. Erl"uterungen zur Benutzung des ST-Guide entnehmen Sie bitte dem entsprechenden Hypertext. 15.09.96 Version 5.09 ********************* Unterschiede zu "lteren Versionen ================================= Da Omikron-Basic-Programme sich auch in einer Multitaskingumgebung wohlf?hlen sollen, darf der Bildschirm beim Start nicht mehr gel"scht werden, da dadurch auch die Fenster der anderen Programme ?bermalt w?rden. Au?erdem wird der BIOS-Cursor (blinkendes Rechteck) nicht mehr eingeschaltet, da dieses Verhalten ebenfalls nicht GEM-Konform ist. Wenn Sie "ltere Programme im Single-Task-Modus betreiben wollen, m?ssen Sie also selbst daf?r sorgen, da? der Bildschirm mit CLS gel"scht wird, und da? der Cursor mit PRINT CHR$(27)+"e"; sichtbar wird. Nach Programmende kehrt das OMIKRON-Basic sofort zum Desktop zur?ck. Dadurch werden eventuelle Ausgaben auf dem Bildschirm ?berschrieben. Sie m?ssen also am Ende eine Warteschleife oder einen INPUT-Befehl einbauen. Das alles gilt nat?rlich nicht f?r GEM-Programme. Die Stackgr"?e ist defaultm"?ig auf 4096 Byte eingestellt. Wenn Sie den Stack vergr"?ern m?ssen, weil gr"?ere Felder sortiert werden sollen oder weil Sie mit rekursiver Program- mierung arbeiten, dann geht das im Compiler nur mit dem Steuerwort COMPILER "STACK x", wobei x f?r die gew?nschte Stackgr"?e steht. Der Befehl CLEAR y,x wird vom Compiler nur auf y hin ausgewertet. Dieses Verhalten mu?te eingef?hrt werden, um Speicherprobleme in Multitaskingumgebungen zu vermeiden. ONLINE-Hilfe ============ Eine Online-Hilfe ist zur Zeit nicht integriert. An einer solchen Funktion auf der Basis von ST-Guide wird aber zu Zeit gearbeitet. Bitte haben Sie etwas Geduld bis zu einem der n"chsten Updates. Installation ============ Auf der Diskette befinden sich die Dateien OM-BASIC.APP, NEWOMBAS.INF, BASLIB_5 und RUN_KERN.PRG. Diese vier Dateien bilden zusammen das eigentliche OMIKRON-Basic und m?ssen sich deshalb immer zusammen in einem Ordner befinden. Kopieren Sie also diese Dateien in einen Ordner ihrer Wahl. Die Datei README.DOC lesen Sie vermutlich gerade. Sie enth"lt aktuelle Erg"nzungen, die nicht mehr ins Handbuch aufgenommen werden konnten. Die Datei GEM.BAS enth"lt die GEM-Library im Tokenformat. Die GEM-Library k"nnen Sie also wie ein normales Basic-Programm laden. Wenn Sie es an Ihre Programme anh"ngen wollen, sollten Sie wie folgt vorgehen. 1. Deklarations?berwachung in der Dialogbox 'Editoreinstellungen' abschalten (Sonst werden Sie mit st"ndigen Abfragen genervt) 2. Ziel-Programm laden 3. GEM.BAS in ein zweites Fenster laden 4. Das ganze GEM.BAS als Block markieren 5. Fenster mit dem Zielprogramm toppen 6. Cursor an die Stelle setzen, wo die GEM-Library eingef?gt werden soll 7. 'Block kopieren' aus dem Men? 'Block' anklicken Der Ordner POWER_PC enth"lt Demoprogramme, die als Tokencode und als PowerPC-Compilat vorliegen. Erl"uterungen dazu unter 'OMIKRON-Basic Native f?r PowerMac' Starten Sie den Editor durch Doppelklick auf die Datei OM-BASIC.APP oder indem Sie eine .BAS Datei auf OM-BASIC.APP ziehen. Sie sollten den Editor aber nicht von der Diskette starten, da das Programm einen Ordner OM_BASIC.TMP anlegt, in welchem Daten zwischengespeichert werden und auf der Diskette normalerweise kein Platz daf?r ist. Unter MagicMac kann es bei Verwendung von schreibgesch?tzten Disketten auch zu Ab- st?rzen kommen. das liegt aber an einem Fehler in MagicMac. Weitere Informationen zum Ordner OM_BASIC.TMP finden Sie unter 'Starten'. Auf der Diskette k"nnen sich noch weitere Dateien und der Ordner RESOURCE.FRK befinden, die der Finder im MacOS zur Verwaltung der DOS-Disketten ben"tigt. Wenn Sie keinen Apple-Computer benutzen, k"nnen Sie diese Dateien ignorieren, ansonsten m?ssen diese uf jeden Fall unver"ndert bleiben. 'MEMORY_BLOCK laden' und 'LIBRARY zuladen' ========================================== Da der Editor und der RUN_KERN jetzt getrennte Programme sind, k"nnen MEMORY-Bl"cke und LIBRARIES zwar zur Laufzeit geladen, aber vom Editor aus nicht gespeicher werden. Um einen MEMORY_BLOCK mit Daten zu f?llen (z.b. ein Bild oder ein Maschinenprogramm) w"hlen Sie den Men?punkt 'MEMORY_BLOCK laden'. Es erscheint eine Dialogbox, in der der Name des Blocks angegeben werden mu? (der besteht bekannlich aus genau zwei Ziffern). Danach k"nnen Sie mit der Fileselect-Box eine Datei ausw"hlen, in der sich die zu la- denden Daten befinden. Genauso erfolgt das Einbinden von LIBRARIES mit dem Men?punkt 'LIBRARY zuladen'. Die so eingebundenen Daten k"nnen vom Editor aus mit abgespeichert werden. Shortcuts einstellen ==================== S"mtliche Shortcuts k"nnen jetzt frei definiert werden. W"hlen Sie dazu 'Shortcuts einstellen' im Menu 'Modus'. Es "ffnet sich ein Fenster, in welchem alle Funktionen mit den zugeh"rigen Shortcuts aufgelistet sind. Durch Anklicken mit der Maus kann man die zu "ndernde Funktion selectieren. Jetzt brauchen Sie nur noch die gew?nschte Taste oder Tastenkombination zu dr?cken und ab sofort ist diese Tastenkombination diesem Befehl zugeordnet. Ihre Einstellungen k"nnen Sie nat?rlich auch in eine NEWOMBAS.INF- Datei speichern oder eine zuvor gemachte Einstellung laden. Neue Funktionen bei 'Editoreinstellungen' ========================================= Omikron-Farbpalette: Wenn diser Butten auf 'ja' steht, werden beim Starten des Editors die Farbregister 0-15 und bei mehr als 16 Farben auch die inversen Register 241-255 auf Defaultwerte gesetzt. Wenn das zu Problemen mit anderen parallel laufenden Programmen f?hrt, k"n- nen Sie dieses Verhalten abschalten. Farbige Darstellung: Der Editor unterst?tzt ab Version 5.09 sogenanntes Color-Coding. Dabei k"nnen Befehle, Strukturbefehle, Funktionen, Operatoren, Konstanten, Kommentare etc. in verschiedenen Farben dargestellt werden. Wenn man das nicht ?bertreibt, kann die sbersichtlichkeit eines Programms dadurch erheblich verbessert werden. F?r Anh"nger der "Monochromie" ist dieses Verhalten nat?rlich abschaltbar. Farben einstellen: Wenn Sie diesen Button anklicken, "ffnet sich eine weitere Box, in der den verschie- denen Befehlsgruppen die entsprechenden Farbregister zugeordnet werden k"nnen. Au?erdem k"nnen die f?r die Dialogboxen verwendeten Farbregister ver"ndert werden. Wenn man will, kann man es auf diese Weise ganz sch"n bunt treiben. Auf Standardwerte setzen: Es werden alle Einstellungen auf die Standardwerte gesetzt, die der Editor auch benutzt, wenn er keine NEWOMBAS.INF-Datei findet. 19.08.96 Version 5.08 ********************* Ab sofort gibt es eine OMIKRON-Basic Homepage. Hier k"nnen Sie sich eine aktuelle Demo-Version downloaden, Tips und Tricks aus dem OMIKRON-Basic Userclub erfahren, oder eigene Anmerkungen machen. Au?erdem werden hier die offiziellen Ger?chte um den Stand der Entwicklung und geplante Projekte verk?ndet. Die OMIKRON-Basic Homepage findet man unter: http://members.aol.com/OmikronBas/index.htm OMIKRON-Basic Native f?r PowerMac ================================= Wie sich vielleicht inzwischen herumgesprochen haben d?rfte, arbeite ich intensiv an einer native-Umsetzung des OMIKRON-Basics. Als erste Stufe wird gegen Ende des Jahres 1996 ein Native-Compiler zur Verf?gung stehen, der dann in OMIKRON-Basic geschriebene Programm in Native-Code f?r PowerMacs umsetzen kann. Zus"tzlich k"nnen s"mtliche MacOS-Betriebssystemfunktionen symbolisch, also per Namen, aufgerufen werden. Um Besitzern eines PowerMac einen ersten Eidruck von den zu erwartenden Geschwindigkeitssteigerungen zu geben, befindet sich im Ordner POWER_PC ein Demo- programm mit dem Namen Gordischer Knoten, das mit einem Prototypen des neuen Com- pilers erstellt wurde. Auf der Diskette befindet sich ebenfalls der Quelltext unter dem Namen GOR_KNOT.BAS. Auf einem PowerMac 9500/132 l"uft dieses Programm 130 mal schneller als auf einem ATARI TT mit Fast-RAM!! Desweiteren ist ein Programm auf der Diskette, das die enorme Geschwindigkeit der neuen Stringverarbeitung demonstriert. Bei der Stringaddition konnte hier in be- stimmten F"llen eine Geschwindigkeitssteigerung um den Faktor 3000!!! gegen?ber einem ATARI TT erreicht werden. Strings k"nnen in der Native-Version ?brigens bis zu 2^31 Zeichen lang werden, sodass sich ganz neue Einsatzm"glichkeiten f?r Strings ergeben. Die Programme k"nnen durch Dr?cken einer Maustaste beendet werden. OMIKRON-Basic unter MagicPC =========================== Es treten Probleme mit allen Funktionen auf, die an die ESC-Funktionen des VDI weitergeleitet werden (z.b. CLS, Direktmodus), da diese in MagicPC nicht implemen- tiert sind. ASH hat zugesichert, dies beim n"chsten Update zu ber?cksichtigen. Es bleibt also zu hoffen, da? sich das Problem dadurch l"sen wird. Demo-Version ============ Wenn Sie eine Demo-Version erworben haben, so gelten folgende Einschr"nkungen: - Der Editor und der Interpreter geben alle 10 Minuten ein Meldung aus, die darauf hinweist, da? es sich um eine Demo-Version handelt. - Der Compiler kann nur Programme ?bersetzen, die nicht mehr als 50 Zeilen enthalten, deren Quellcode nicht l"nger als 2 Kilobyte ist und der Objectcode nicht l"nger als 2 Kilobyte wird. - Mit der Demo-Version erstellte Programme d?rfen nicht verkauft werden. Allgemeine Informationen: Programm, die mit einer Version "lter als 3.0 erstellt wurden, k"nnen vom Editor nicht geladen werden. OMIKRON Basic 5 wurde f?r die Benutzung unter MAGIC bzw. MAGIC MAC konzipiert. Das Programm kann aber auch unter Single TOS gestartet werden. Allerdings mit der Einschr"nkung, da? der RUNKERN nicht direkt vom Editor aus aufgerufen werden kann, da der RUNKERN als eigenst"ndige Applikation gestartet werden mu?. Um also ein Programm im Interpreter ausf?hren zu lassen, mu? man unter TOS zun"chst das Programm speichern, den Editor verlassen und anschlie?end den RUNKERN starten, indem man das BASIC Programm auf den RUNKERN zieht. Da diese Prozedur etwas umst"ndlich ist, kann ich nur jedem empfehlen, sich MAGIC zuzulegen. Falls Ihr Programm unter MAGIC MAC laufen soll, darf es keine FPU Befehle enthalten. Das entspechende Compiler Steuerwort darf also nicht gesetzt werden. Dies gilt zumindest f?r POWER MACs. Falls Sie einen 68K MAC mit FPU besitzen, sollte die Benutzung m"glich sein. Falls auf Ihrem Rechner weniger als ca. 2MB Speicher frei sind, kann es passieren, da? OMIKRON Basic die Meldung ausgibt: "Programm kann wegen Speichermangel nicht gestartet werden." In diesem Fall sollten Sie die NEWOMBAS.INF Datei l"schen oder umbenennen. Das Programm startet dann in einer Minimalkonfiguration. Wenn auch dies nicht ausreicht, hilft nur der Einbau von zus"tzlichem RAM. Funktionen, die auf den Programmcode in Fenstern wirken, beeinflussen immer nur das oberste Fenster. Dialoge werden alle in Fenstern dargestellt. Die Dialogfenster k"nnen mit dem Schiebebalken bewegt werden. Sofern die Eingaben f?r den weiteren Programmablauf nicht zwingend erforderlich sind, k"nnen die Dialoge jederzeit durch Mausklick in ein anderes Fenster verlassen werden. Die Dialogfenster k"nnen w"hrend der Arbeit am Programm ge"ffnet bleiben. Folgende Exitbuttons k"nnen auch ?ber die Tastatur erreicht werden: "OK" = 'RETURN' : Die Funktion wird ausgef?hrt. Die Box verbleibt auf dem Bildschirm (Nur wenn modal). "OK & CLOSE" = 'ENTER' :Die Funktion wird ausgef?hrt. Die Box wird entfernt. "EXIT" ="ESC" : Die Box wird entfernt, ohne die Funktion vorher auszuf?hren. Ansonsten k"nnen zum Editieren alle Tasten wie im Programmfenster benutzt werden. Besonderheit bei 'Replace' und 'Rename TOKEN': Mit 'Ctrl I' wird der Text in der oberen Zeile in die untere kopiert. ?nderungen bei der Tastatur: Von den Funtionstasten werden vom Editor nur F1 und F2 benutzt. 'Clr Home' = Cursor an den Programmanfang 'Shift Clr Home' = Cursor ans Programmende 'Shift Cursor links' = Cursor an den Zeilenanfang 'Shift Cursor rechts' =Cursor ans Zeilenende 'Shift Delete' = Zeile l"schen 'Alt Delete' = Zeile l"schen, Rest r?ckt auf Variablen, Funktionen, Prozeduren und Labels k"nnen jetzt auch alle ASCII-Zeichen ab 128 enthalten. Ebenso k"nnen sie jetzt auch mit dem Unterstrich beginnen. Die Zeichen ab 128 k"nnen auf verschiedene Weise erreicht werden. 1. Unter MAGIC kann man mit 'Alt Caps-Lock' auf Sonderzeichen umschalten. Man erreicht damit allerdings nicht alle Zeichen. 2. Mit einer Vortaste. Sie dr?cken zun"chst F1 und geben dann ein normales Zeichen ein. Durch F1 wird zu dem ASCII Code dieses Zeichens 64 addiert. Das gleiche bewirkt F2, nur da? 128 addiert wird. 3. Bei gedr?ckter 'Alt' Taste kann der ASCII Code des Zeichens direkt ?ber die Tasten des Zehnerblocks eingegeben werden. Sobald man die 'Alt' Taste losl"?t oder 3 Ziffern ein- gegeben wurden, erscheint das Zeichen auf dem Bildschirm. Damit l"?t sich jetzt z.B. schreiben: L"nge = H"he * SIN( …) Basic Befehle k"nnen nun auch mit einem Punkt abgek?rzt werden. Wenn die Abk?rzung nicht eindeutig ist, wird der Befehl mit dem niedrigsten Tokencode ausgew"hlt. Wer gern mit langen Variablennamen arbeitet, kann sich fortan viel Tipparbeit sparen. Dazu werden die Tasten 0 bis 9,*,- und + auf der Zehnertastatur in Verbindung mit der Ctrl Taste verwendet oder die Kombination 'Shift TAB'. Statt zum Beispiel 'Kunden_adressen_anzahl' einzutippen, geben Sie z.B. nur 'Kunden' ein und dr?cken anschlie?end 'Ctrl *' oder 'Shift TAB'. Der Editor sucht dann in der Variablentabelle nach Eintr"gen, die mit 'Kunden' anfangen. Hat er einen Eintrag gefunden, so wird der vollst"ndige Name auf dem Bildschirm dargestellt. Falls dieser falsch ist, also z.B. 'Kunden_Nr' lautet, so k"nnen Sie den Editor durch nochmaliges Dr?cken von 'Ctrl *' bzw. 'Shift TAB' oder 'Ctrl +' veranlassen, den n"chsten Vorschlagzu machen. Mit 'Ctrl -' l"sst sich in der Variablentabelle r?ckw"rts suchen. Die Tastenkombinationen 'Ctrl 0 bis 9' haben die gleiche Funktion, wie 'Ctrl *' bzw 'Shift TAB', nurda? man ?ber die Ziffer die Dimension der Variablen festlegt, nach der gesucht werden soll. In der Info Zeile eines Fensters werden die Cursorposition, die Programmgr"?e und die Speichermenge angezeigt, die f?r dieses Programm reserviert und noch frei ist. Ein Mausklick auf die Anzeige Y=... bewirk das Gleiche, wie der Men?punkt 'Gehe zu'. Es "ffnet sich ein Dialogfenster, in welches man das Sprungziel eingeben kann. Tritt bei der Eingabe ein Syntaxfehler auf, so wird die Eingabezeile rot bzw. grau auf Monochrommonitoren markiert und in der Infozeile eine Meldung ausgegeben, die den Fehler n"her spezifiziert. Da die meisten Bildschirmschoner zwar sch"ne Bildchen oder Muster erzeugen, damit aber den Computer und den Monitor unn"tig belasten (kostet mindestens Energie), wurde in das neue OMIKRON Basic eine Schlafecke integriert. Wenn Sie die Maus in die linke untere Ecke bewegen und dort mindestens 0,5 s belassen, wird der Bildschirm dunkel geschaltet und OMIKRON-Basic in eine Warteschleife geschickt. Das Aufwecken geschieht nicht etwa mit einem Wecker, sondern durch Bewegen des Mauscursors aus der Ecke. Men? ======= Neu: Es erscheint eine Dialogbox, in der man den Namen des neuen Programms eintragen kann. Au?erdem m?ssen f?r den Programmcode Speicher und Zeilen reserviert werden. Da man in einem St?ck kaum mehr als 65536 Bytes bzw. 1024 Zeilen programmieren wird, reicht die Voreinstellung im Allgemeinen aus. Desweiteren kann festgelegt werden, ob mit oder ohne Zeilennummern gearbeitet werden soll (l"?t sich auch sp"ter "ndern). Standardm"?ig stellt der Editor long-integer Variablen ohne Postfixe dar. Wer dies "ndern m"chte, kann hier gleich entspechende Eintragungen vornehmen. Neue Ansicht: Es wird ein neues Fenster ge"ffnet, welches das gleiche Programm darstellt, das sich im obersten Fenster befand. Dieser Aufruf kann mehrmals wiederholt werden. Dadurch ist es m"glich, ein und dasselbe Programm in mehreren Fenstern, die verschiedene Programmteile zeigen, zu bearbeiten. Nimmt man in einem Fenster ?nderungen vor, so werden diese in den anderen Fenstern nicht sofort sichbar, sonder erst, wenn diese in den Vordergrund geholt werden. Diese Funktion stellt also eine Erweiterung der 'SPLIT SCREEN-Funktion' des alten Editors dar. Verdoppeln: Von dem im obersten Fenster befindlichen Programm wird eine Kopie im Speicher angelegt. Ein neues Fenster wird ge"ffnet und getopt. Das neue Fenster enth"lt das kopierte Programm. An den Fensternamen wird '.Kopie' angeh"ngt. Fenster tauschen: Wenn man viele Fenster gleichzeitig ge"ffnet hat, passiert es manchmal, da? ein gesuchtes Fenster von anderen vollst"ndig verdeckt wird. Um nun nicht alle Fenster in die Ecke schieben zu m?ssen, wurde diese Funktion implementiert. Es werden einfach nacheinander alle Fenster nach oben geholt. Drucken bzw. Block drucken: Es erscheint eine Dialogbox, in der Sie einen X- und Y-Offset eingeben k"nnen. Au?erdem besteht die M"glichkeit, da? ASCII-Zeichen von 0 bis 31 als Leerzeichen gedruckt werden, um unbeabsichtigte Steuerbefehle an den Drucker zu vermeiden. Block kopieren: Diese Funktion dient dazu, Bl"cke von einem Fenster in ein anderes zu kopieren. Dazu wird zun"chst der Block in dem Quellfenster markiert (falls nicht schon vorhanden) und dann das Zielfenster getopt. Durch 'Block kopieren' wird jetzt der Quellblock an der Cursorposition des Zielfensters eingesetzt. Achtung! Eingeklappte Programmteile k"nnen nicht kopiert werden, sondern m?ssen vor dem Kopieren ausgeklappt werden. Neu numerieren: Es erscheint eine Dialogbox, in der man alle Einstellungen f?r eine ?nderung der Zeilennummern vornehmen kann. Zu beachten ist, da? in die oberen beiden Zeilen immer die Nummern eingetragen werden m?ssen, die sich aus einer fortlaufenden Nummerierung in Einerschritten ergeben. (Diese werden auch in der Info-Zeile des Fensters angezeigt.) Text listen und TOKEN listen: Es "ffnet sich ein Fenster, in dem alle Einstellungen vorgenommen werden k"nnen. Zu erw"hnen sind noch die Radiobuttons 'Zeichenkette' und 'Block'. Ist 'Block' selektiert, so wird nach einem im Programmtext markierten Block gesucht. Wenn kein einzeiliger Block markiert ist, erscheint eine Alertbox. Die gefundenen Eintr"ge werden in einem neuen Fenster aufgelistet. Dabei k"nnen im Gegensatz zum OMIKRON BASIC 4 mehrere Eintr"ge in einer Zeile stehen. Anklicken mit der linken Maustaste topt das zugeh"rige Programmfenster, schlie?t das Suchfenster aber nicht. Auf diese Weise kann man sich nacheinander alle gefundenen Eintr"ge vornehmen. Anklicken mit der rechten Maustaste macht das gleiche, schlie?t aber gleichzeitig das Suchfenster. Wie fr?her kann man auch mit einem Doppelklick auf ein Token alle Stellen auflisten, an denen dieses vorkommt. Seit der Version 5.04 ist folgende Funktion zus"tzlich implementiert. Wenn man beim Doppelklick auf ein Label, eine Funktion oder Prozedur die linke Shift-Taste gedr?ckt h"lt, so wird an die Stelle gesprungen, an der das Label, die Funktion oder Prozedur definiert wurde. Wenn die Dimension des gesuchten Tokens nicht angegeben wird, so sucht der Editor nach dem Namen mit der niedrigsten Dimension. Wenn vor dem Namen kein PROC, -, bzw. FN angegeben wird, so wirch zuerst nach einer Variablen, danach nach einer Prozedur, dann nach einem Label und schlie?lich nach einer Funktion mit dem angegebenen Namen gesucht. Setze Markierung und Entferne Markierung: Am Ende des Men?s befinden sich 10 Zeilen, in welche die ersten 24 Buchstaben ab der markierten Position eingetragen werden. Man setzt den Cursor auf die zu markierende Stelle und klickt auf 'Mark'. Die Postion wird ins Men? eingetragen. Durch Anklicken des Eintrags springt der Editior an die entsprechende Stelle. Sind keine Pl"tze mehr frei, so wird der erste Eintrag gel"scht, die anderen r?cken auf, der neue Eintrag kommt ans Ende. Die Marker k"nnen auch mit 'Ctrl 1 bis 0' gesetzt und mit 'Alt 1 bis 0' angesprungen werden. Postfixe: Es werden alle Postfixe ausgelistet, auch die Flie?kommapostfixe hinter Konstanten. Passwort eingeben: Es erscheint eine Dialogbox, in welcher ein Passwort eingegeben werden kann. Bei allen Programmteilen, die danach eingeklappt werden, wird das Passwort in codierter Form mit abgespeichert. Diese Programmteile k"nnen sp"ter nur wieder ausgeklappt werden, wenn zuvor das richtige Passwort eingegeben wurde. Um das Passwort wieder loszuwerden, dr?cken Sie einfach Shift + Delete in der Passwortbox. Dann wird das Passwort gel"scht und Sie k"nnen wieder ohne Passwortschutz einklappen. Speichereinstellungen: Es erscheit eine Dialogbox, in der diejenigen Einstellungen vorgenommen werden k"nnen, f?r die OMIKRON Basic Speicher reservieren mu?. Die maximale Anzahl der verf?gbaren Fenster sollte nicht h"her eingestellt werden, als vom Betriebssystem zur Verf?gung gestellt wird, sonst kann es zu b"sen Abst?rzen kommen. Der Listbuffer wird benutzt, um bei den Suchfunktionen die gefundenen Eintr"ge zu speichern. Au?erdem benutzt der Compiler den Listbuffer f?r seine Ausgaben. OMIKRON Basic kann maximal 16384 Variablen, Prozeduren bzw. Funktionen verwalten. Selbst sehr lange Programme (?ber 500 kB Token Code) bringen es im allgemeinen nicht ?ber 2000 Variablen, soda? man hier keine zu ?ppige Einstellung vornehmen mu?. Die Anzahl der Basiczeilen kann maximal 65536 betragen. Wie lang Ihre Programme so typischerweise werden, wissen Sie sicher selbst am besten. Der Codespeicher kann im ST Ram oder im TT RAM angelegt werden. Da der Editor im OMIKRON Basic 5 neu programmiert wurde, kann er in beiden Speicherbereichen arbeiten. Wenn sie auf einem ATARI ?ber TT RAM verf?gen oder einen MAC mit mehr als 16 MB RAM besitzen, so sollten Sie dieses auch nutzen. Zum einen l"uft der Editor auf einem ATARI dann schneller, zum anderen bleibt wertvolles ST RAM f?r den RUN_KERN frei. Dieser kann n"mlich nachwievor nur im 24-BIT Adressraum operieren. Da der RUN_KERN auch noch Speicher verbraucht, mu? noch einiges freigelassen werden. Eben soviel, wie das Programm, das interpretiert werden soll, und der RUN_KERN zu- sammen ben"tigen. Der Speicherverbrauch berechnet sich aus den vorab genannten Einstellungen nach folgender Formel: Speicherbedarf = Fensterzahl * (650 + Bufferzeilen * 50)+ 20 * Variablenzahl +4 * Zeilenzahl + Reservierter Speicher Dabei ist noch zu erw"hnen, da? Variablenzahl und Zeilenzahl nur vom Compiler ben"tigt werden. Seit der Version 5.04 alloziert der Editor automatisch in dem jeweils anderen RAM-Bereich Speicher, wenn er in dem vordefinierten nicht genug vorfindet. In einer Multitaskingumgebung darf sich ein Programm nicht den gesamten verf?gbaren Speicher reservieren. Um eine Zerst?ckelung des Speichers durch st"ndige Anforderungen zu vermeiden, wird einmal beim Programmstart ein zusammenh"ngender Block angefordert, der dann selbst verwaltet wird und zwar so, da? keine Blasen entstehen. Dieser reservierte Speicher und nicht der gesamte freie Speicher wird in der Men?zeile angezeigt. Die Speichereinstellungen nur ausf?hren, wenn vorher alle Programme gesichert wurden, da zur Neuorganisation des Speichers alle Informationen gel"scht werden m?ssen. Statt die Funktion mit 'OK' auszuf?hren, k"nnen die eingegebenen Daten auch nur in eine Datei gespeichert, oder eine NEWOMBAS.INF Datei geladen werden. Editoreinstellungen: Es erscheint eine Dialogbox mit allerlei Default Einstellungen (Die meisten m??ten eigentlich selbsterkl"rend sein.) 'Voreinstellungen bei Neu' entspricht exakt den Einstellungen, die Sie in der Dialogbox vornehmen k"nnen, die sich "ffnet, wenn Sie den Men?punkt 'Neu' anw"hlen. Unter anderem ist es m"glich, hier festzulegen, wieviel Speicher und wieviel Zeilen zus"tzlich reserviert werden sollen, wenn Sie ein Programm laden. Umsteiger von GFA-Basic wird es freuen, da? der Omikron Editor jetzt auch das automatische Einr?cken beherrscht. Da in Omikron-Basic mehrere Strukturbefehle in einer Zeile stehen k"nnen, kann es gelegentlich noch zu Problemen kommen. F?r solche F"lle, in denen der Editor falsch einr?ckt, haben Sie die M"glichkeit, den Einr?ck- pointer von Hand neu zu justieren, indem Sie den Cursor an die gew?nschte Position bringen und danach 'Control+TAB' dr?cken. Mit dem Men?punkt 'ASCII speichern' kann ein Programm ausgelistet und als ASCII Code gespeichert werden. Da hierbei die Zeichen 10,13 und 26 als Steuerzeichen verwendet werden, kommt es beim Laden solcher als ASCII gespeicherten Programme zu Problemen, wenn die Programme diese Zeichen im Quellcode enthalten. Um diese Schwierigkeiten zu vermeiden, wurde ein neues Dateiformat definiert, das diese Schwierigkeiten vermeidet. Diese Dateien k"nnen allerdings nicht mehr mit einem fremden Editor geladen werden. Darum k"nnen Sie mit dem Schalter 'Neues ASCII Format' w"hlen, ob dieses oder das normale benutzt werden soll. Sicherlich ist es vielen schon passiert, da? sie einen Variablennamen falsch einge- tippt haben. z.B. haben Sie irgendwo am die Variable 'Farbe_Socken=5' deklariert. Sp"ter im Programm wollen Sie die Variable dann benutzen, schreiben aber f"lschli- cherweise z.B. Farben_Socke+=1. Sie haben hier also unbewu?t eine neue Variable deklariert, die zun"chst null ist und zu falschen Ergebnissen f?hrt. Um solche Fehler zu vermeiden, wurde die Funktion 'Deklarationen ?berwachen' eingef?hrt, die immer dann Alarm schl"gt, wenn eine Variable, Funktion oder Prozedur benutzt wird, bevor sie deklariert wurde, wobei die Deklaration in Omikron-Basic durch eine Zuweisung bzw. Definition erfolgt erfolgt. Arbeitspfad einstellen: Es erscheint die File-Select-Box, in der man den gew?nschten Arbeitspfad einstellen kann. Diesen Pfad benutzt OMIKRON-Basic dann auch f?r den OM-BASIC.TMP Ordner. Der Arbeitspfad wird in der Datei NEWOMBAS.INF gespeichert, soda? beim n"chsten Starten des Editors und "ffnen einer Fileselectbox sofort der richtige Pfad einge- stellt ist. Voreingestellte Farben: Es werden die VDI Farben 0 bis 15 auf voreingestellte Werte gesetzt. Entspricht den Voreinstellungen von MAGIC. Bei mehr als 16 Farben werden auch die komplement"ren Farbregister 241-255 auf die entsprechenden Komplement"rfarben gesetzt. Dies ist n"tig, weil sonst das Zeichen unter dem Cursor schlecht zu lesen w"re. Starten: Die Funktionen im 'Programm' Menu arbeiten wie folgt: Das Programm, das sich im getopten Fenster befindet, wird unter dem Namen PROGRAMM.BAS in den Ordner OM_BASIC.TMP gespeichert. Hier befindet sich also immer das zuletzt gestartete Basicprogramm. Danach wird der RUN_KERN als weitere Applikation gestartet. Der RUN_KERN ?bernimmt dann dieses Programm automatisch und f?hrt es aus. Der Editor l"uft also im Hintergrund weiter. Bei Beendigung des Basicprogramms wird auch der RUN_KERN terminiert und man befindet sich wieder im Editor. Tritt w"hrend der Ausf?hrung des Basic Programms ein Fehler auf oder wird es durch 'STOP' unterbrochen, so gelangt man in den Direktmodus des RUN_KERNs. Hier kann man sich wie bisher Variableninhalte anzeigen oder Befehle direkt ausf?hren lassen, um der Fehlerursache auf den Grund zu gehen. Durch 'ESC' wird der RUN_KERN beendet und man befindet sich wieder in dem neuen GEM Editor. Durch 'Help' kann man auch noch wie fr?her von dem Direktmodus in den Full-Screen-Modus des alten Editors gelangen. Compilieren: Im Gegensatz zu fr?heren OMIKRON Basic Versionen ist der Compiler kein eigenst"ndiges Programm mehr, sondern wurde in den Editor integriert. Mit dem Men?punkt 'Compilieren' wird das Programm, das sich in dem obersten Fenster befindet, compiliert. Dazu "ffnet der Compiler ein neues Fenster, in das er seine Ausgaben macht. Undefinierte bzw. unbenutzte Statements werden aufgelistet. Nach Beendigung des Compiliervorgangs kann man die entsprechenden Programmstellen durch Anklicken im Compilerfenster anspringen. Die Compilierung kann durch 'ESC' jederzeit unterbrochen werden. Das Fenster mit den Compilerausgaben kann auch gespeichert oder ausgedruckt werden. Ist das Programm weitgehend fehlerfrei, so sollte man unbedingt mit den entsprechenden Compiler Steuerw"rtern daf?r sorgen, da? ohne TRACE, Zeilennummern und Exceptions compiliert wird. Dadurch ergibt sich ein bisweilen dramatischer Geschwindigkeitsgewinn. "Multitasking allways" sollte man ebenfalls vermeiden. Das Steuerwort COMPILER "CUTLIB" bewirkt dabei wie fr?her, da? die BASLIB ins Programm integriert wird. Das Programm CUTLIB.PRG wird daf?r nicht mehr ben"tigt. Das Entfernen unbenutzter Funktionen aus der BASLIB ist seit der Version 4.0 schon nicht mehr m"glich. Das Steuerwort COMPILER "CUT ON" veranlasst den Compiler, unbenutzte Prozeduren und Funktionen auch nicht zu ?bersetzen. Damit das funktioniert, m?ssen aber alle Prozeduren und Funktionen sauber mit einem END_PROC bzw. END_FN bzw. RETURN ab- geschlossen sein. Wenn Sie in Ihrem Programm Bereiche haben, f?r die das nicht zutrifft, k"nnen Sie Das Rausk?rzen mit COMPILER "CUT OFF" abschalten. Da diese Bedingungen in LIBRARIES immer erf?llt sind, werden diese automatisch immer gek?rzt. Direktmodus: Man gelangt in den Direktmodus des Interpreters (wer h"tte das gedacht). Hier kann man OM BASIC Befehle direkt eingeben und mit 'RETURN' sofort ausf?hren lassen. Man hat von hier jedoch keinen Zugriff auf das Programm, das sich gerade im Editor befindet. Der Direktmodus funktioniert unter Single-TOS nicht, da hierzu der RUN_KERN als zus"tzliche Applikation gestartet werden mu?. F?r den sehr wahrscheinlichen Fall, da? noch Fehler auftreten oder f?r Verbesserungsvorschl"ge, sollte man mir am besten eine E-Mail schicken. E-Mail: Berkiber@T-Online.de Telefax: Faxe k"nnen mir unter der Nummer 05832/6160 zugeschickt werden. Hotline: Montag bis Samstag 12.00 bis 13.00 Sonntag 14.00 bis 15.00 unter der Nummer 05832/2003 Anschrift: Berkhan-Software Entwicklung & Vertrieb Alt-Isenhagen 19 29386 Hankensbuettel Bitte nennen Sie dabei die vollst"ndige Versionsnummer und das Release-Datum. Bei Fehlern ist eine genaue Beschreibung Ihrer Hard- und Software (Betriebssystem, Autoordnerprogramme) sehr hilfreich, um den Fehler zu reproduzieren. Uwe Berkhan